package com.liveneo.adapter.base.entity;

import java.util.ArrayList;
import java.util.List;

/**
 * 核损员和视频组件映射表 条件工具类
 * 
 * @author fucy
 * @since 2016-06-05
 */
public class PrpmVideoUserExample {
    protected String         orderByClause;
    protected boolean        distinct;
    protected List<Criteria> oredCriteria;

    public PrpmVideoUserExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    /**
     * 核损员和视频组件映射表
     * 数据库表：prpm_video_user
     * 
     * @author fucy
     * @since 2016-06-05
     */
    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("ID is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("ID is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(String value) {
            addCriterion("ID =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(String value) {
            addCriterion("ID <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(String value) {
            addCriterion("ID >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(String value) {
            addCriterion("ID >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(String value) {
            addCriterion("ID <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(String value) {
            addCriterion("ID <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLike(String value) {
            addCriterion("ID like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotLike(String value) {
            addCriterion("ID not like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<String> values) {
            addCriterion("ID in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<String> values) {
            addCriterion("ID not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(String value1, String value2) {
            addCriterion("ID between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(String value1, String value2) {
            addCriterion("ID not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andUserNameIsNull() {
            addCriterion("UserName is null");
            return (Criteria) this;
        }

        public Criteria andUserNameIsNotNull() {
            addCriterion("UserName is not null");
            return (Criteria) this;
        }

        public Criteria andUserNameEqualTo(String value) {
            addCriterion("UserName =", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameNotEqualTo(String value) {
            addCriterion("UserName <>", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameGreaterThan(String value) {
            addCriterion("UserName >", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameGreaterThanOrEqualTo(String value) {
            addCriterion("UserName >=", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameLessThan(String value) {
            addCriterion("UserName <", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameLessThanOrEqualTo(String value) {
            addCriterion("UserName <=", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameLike(String value) {
            addCriterion("UserName like", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameNotLike(String value) {
            addCriterion("UserName not like", value, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameIn(List<String> values) {
            addCriterion("UserName in", values, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameNotIn(List<String> values) {
            addCriterion("UserName not in", values, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameBetween(String value1, String value2) {
            addCriterion("UserName between", value1, value2, "userName");
            return (Criteria) this;
        }

        public Criteria andUserNameNotBetween(String value1, String value2) {
            addCriterion("UserName not between", value1, value2, "userName");
            return (Criteria) this;
        }

        public Criteria andUserCodeIsNull() {
            addCriterion("UserCode is null");
            return (Criteria) this;
        }

        public Criteria andUserCodeIsNotNull() {
            addCriterion("UserCode is not null");
            return (Criteria) this;
        }

        public Criteria andUserCodeEqualTo(String value) {
            addCriterion("UserCode =", value, "userCode");
            return (Criteria) this;
        }

        public Criteria andUserCodeNotEqualTo(String value) {
            addCriterion("UserCode <>", value, "userCode");
            return (Criteria) this;
        }

        public Criteria andUserCodeGreaterThan(String value) {
            addCriterion("UserCode >", value, "userCode");
            return (Criteria) this;
        }

        public Criteria andUserCodeGreaterThanOrEqualTo(String value) {
            addCriterion("UserCode >=", value, "userCode");
            return (Criteria) this;
        }

        public Criteria andUserCodeLessThan(String value) {
            addCriterion("UserCode <", value, "userCode");
            return (Criteria) this;
        }

        public Criteria andUserCodeLessThanOrEqualTo(String value) {
            addCriterion("UserCode <=", value, "userCode");
            return (Criteria) this;
        }

        public Criteria andUserCodeLike(String value) {
            addCriterion("UserCode like", value, "userCode");
            return (Criteria) this;
        }

        public Criteria andUserCodeNotLike(String value) {
            addCriterion("UserCode not like", value, "userCode");
            return (Criteria) this;
        }

        public Criteria andUserCodeIn(List<String> values) {
            addCriterion("UserCode in", values, "userCode");
            return (Criteria) this;
        }

        public Criteria andUserCodeNotIn(List<String> values) {
            addCriterion("UserCode not in", values, "userCode");
            return (Criteria) this;
        }

        public Criteria andUserCodeBetween(String value1, String value2) {
            addCriterion("UserCode between", value1, value2, "userCode");
            return (Criteria) this;
        }

        public Criteria andUserCodeNotBetween(String value1, String value2) {
            addCriterion("UserCode not between", value1, value2, "userCode");
            return (Criteria) this;
        }

        public Criteria andAgtIDIsNull() {
            addCriterion("AgtID is null");
            return (Criteria) this;
        }

        public Criteria andAgtIDIsNotNull() {
            addCriterion("AgtID is not null");
            return (Criteria) this;
        }

        public Criteria andAgtIDEqualTo(String value) {
            addCriterion("AgtID =", value, "agtID");
            return (Criteria) this;
        }

        public Criteria andAgtIDNotEqualTo(String value) {
            addCriterion("AgtID <>", value, "agtID");
            return (Criteria) this;
        }

        public Criteria andAgtIDGreaterThan(String value) {
            addCriterion("AgtID >", value, "agtID");
            return (Criteria) this;
        }

        public Criteria andAgtIDGreaterThanOrEqualTo(String value) {
            addCriterion("AgtID >=", value, "agtID");
            return (Criteria) this;
        }

        public Criteria andAgtIDLessThan(String value) {
            addCriterion("AgtID <", value, "agtID");
            return (Criteria) this;
        }

        public Criteria andAgtIDLessThanOrEqualTo(String value) {
            addCriterion("AgtID <=", value, "agtID");
            return (Criteria) this;
        }

        public Criteria andAgtIDLike(String value) {
            addCriterion("AgtID like", value, "agtID");
            return (Criteria) this;
        }

        public Criteria andAgtIDNotLike(String value) {
            addCriterion("AgtID not like", value, "agtID");
            return (Criteria) this;
        }

        public Criteria andAgtIDIn(List<String> values) {
            addCriterion("AgtID in", values, "agtID");
            return (Criteria) this;
        }

        public Criteria andAgtIDNotIn(List<String> values) {
            addCriterion("AgtID not in", values, "agtID");
            return (Criteria) this;
        }

        public Criteria andAgtIDBetween(String value1, String value2) {
            addCriterion("AgtID between", value1, value2, "agtID");
            return (Criteria) this;
        }

        public Criteria andAgtIDNotBetween(String value1, String value2) {
            addCriterion("AgtID not between", value1, value2, "agtID");
            return (Criteria) this;
        }

        public Criteria andVideoPassIsNull() {
            addCriterion("VideoPass is null");
            return (Criteria) this;
        }

        public Criteria andVideoPassIsNotNull() {
            addCriterion("VideoPass is not null");
            return (Criteria) this;
        }

        public Criteria andVideoPassEqualTo(String value) {
            addCriterion("VideoPass =", value, "videoPass");
            return (Criteria) this;
        }

        public Criteria andVideoPassNotEqualTo(String value) {
            addCriterion("VideoPass <>", value, "videoPass");
            return (Criteria) this;
        }

        public Criteria andVideoPassGreaterThan(String value) {
            addCriterion("VideoPass >", value, "videoPass");
            return (Criteria) this;
        }

        public Criteria andVideoPassGreaterThanOrEqualTo(String value) {
            addCriterion("VideoPass >=", value, "videoPass");
            return (Criteria) this;
        }

        public Criteria andVideoPassLessThan(String value) {
            addCriterion("VideoPass <", value, "videoPass");
            return (Criteria) this;
        }

        public Criteria andVideoPassLessThanOrEqualTo(String value) {
            addCriterion("VideoPass <=", value, "videoPass");
            return (Criteria) this;
        }

        public Criteria andVideoPassLike(String value) {
            addCriterion("VideoPass like", value, "videoPass");
            return (Criteria) this;
        }

        public Criteria andVideoPassNotLike(String value) {
            addCriterion("VideoPass not like", value, "videoPass");
            return (Criteria) this;
        }

        public Criteria andVideoPassIn(List<String> values) {
            addCriterion("VideoPass in", values, "videoPass");
            return (Criteria) this;
        }

        public Criteria andVideoPassNotIn(List<String> values) {
            addCriterion("VideoPass not in", values, "videoPass");
            return (Criteria) this;
        }

        public Criteria andVideoPassBetween(String value1, String value2) {
            addCriterion("VideoPass between", value1, value2, "videoPass");
            return (Criteria) this;
        }

        public Criteria andVideoPassNotBetween(String value1, String value2) {
            addCriterion("VideoPass not between", value1, value2, "videoPass");
            return (Criteria) this;
        }

        public Criteria andSkillIDIsNull() {
            addCriterion("SkillID is null");
            return (Criteria) this;
        }

        public Criteria andSkillIDIsNotNull() {
            addCriterion("SkillID is not null");
            return (Criteria) this;
        }

        public Criteria andSkillIDEqualTo(String value) {
            addCriterion("SkillID =", value, "skillID");
            return (Criteria) this;
        }

        public Criteria andSkillIDNotEqualTo(String value) {
            addCriterion("SkillID <>", value, "skillID");
            return (Criteria) this;
        }

        public Criteria andSkillIDGreaterThan(String value) {
            addCriterion("SkillID >", value, "skillID");
            return (Criteria) this;
        }

        public Criteria andSkillIDGreaterThanOrEqualTo(String value) {
            addCriterion("SkillID >=", value, "skillID");
            return (Criteria) this;
        }

        public Criteria andSkillIDLessThan(String value) {
            addCriterion("SkillID <", value, "skillID");
            return (Criteria) this;
        }

        public Criteria andSkillIDLessThanOrEqualTo(String value) {
            addCriterion("SkillID <=", value, "skillID");
            return (Criteria) this;
        }

        public Criteria andSkillIDLike(String value) {
            addCriterion("SkillID like", value, "skillID");
            return (Criteria) this;
        }

        public Criteria andSkillIDNotLike(String value) {
            addCriterion("SkillID not like", value, "skillID");
            return (Criteria) this;
        }

        public Criteria andSkillIDIn(List<String> values) {
            addCriterion("SkillID in", values, "skillID");
            return (Criteria) this;
        }

        public Criteria andSkillIDNotIn(List<String> values) {
            addCriterion("SkillID not in", values, "skillID");
            return (Criteria) this;
        }

        public Criteria andSkillIDBetween(String value1, String value2) {
            addCriterion("SkillID between", value1, value2, "skillID");
            return (Criteria) this;
        }

        public Criteria andSkillIDNotBetween(String value1, String value2) {
            addCriterion("SkillID not between", value1, value2, "skillID");
            return (Criteria) this;
        }

        public Criteria andVcidIsNull() {
            addCriterion("Vcid is null");
            return (Criteria) this;
        }

        public Criteria andVcidIsNotNull() {
            addCriterion("Vcid is not null");
            return (Criteria) this;
        }

        public Criteria andVcidEqualTo(String value) {
            addCriterion("Vcid =", value, "vcid");
            return (Criteria) this;
        }

        public Criteria andVcidNotEqualTo(String value) {
            addCriterion("Vcid <>", value, "vcid");
            return (Criteria) this;
        }

        public Criteria andVcidGreaterThan(String value) {
            addCriterion("Vcid >", value, "vcid");
            return (Criteria) this;
        }

        public Criteria andVcidGreaterThanOrEqualTo(String value) {
            addCriterion("Vcid >=", value, "vcid");
            return (Criteria) this;
        }

        public Criteria andVcidLessThan(String value) {
            addCriterion("Vcid <", value, "vcid");
            return (Criteria) this;
        }

        public Criteria andVcidLessThanOrEqualTo(String value) {
            addCriterion("Vcid <=", value, "vcid");
            return (Criteria) this;
        }

        public Criteria andVcidLike(String value) {
            addCriterion("Vcid like", value, "vcid");
            return (Criteria) this;
        }

        public Criteria andVcidNotLike(String value) {
            addCriterion("Vcid not like", value, "vcid");
            return (Criteria) this;
        }

        public Criteria andVcidIn(List<String> values) {
            addCriterion("Vcid in", values, "vcid");
            return (Criteria) this;
        }

        public Criteria andVcidNotIn(List<String> values) {
            addCriterion("Vcid not in", values, "vcid");
            return (Criteria) this;
        }

        public Criteria andVcidBetween(String value1, String value2) {
            addCriterion("Vcid between", value1, value2, "vcid");
            return (Criteria) this;
        }

        public Criteria andVcidNotBetween(String value1, String value2) {
            addCriterion("Vcid not between", value1, value2, "vcid");
            return (Criteria) this;
        }

        public Criteria andFlagIsNull() {
            addCriterion("Flag is null");
            return (Criteria) this;
        }

        public Criteria andFlagIsNotNull() {
            addCriterion("Flag is not null");
            return (Criteria) this;
        }

        public Criteria andFlagEqualTo(String value) {
            addCriterion("Flag =", value, "flag");
            return (Criteria) this;
        }

        public Criteria andFlagNotEqualTo(String value) {
            addCriterion("Flag <>", value, "flag");
            return (Criteria) this;
        }

        public Criteria andFlagGreaterThan(String value) {
            addCriterion("Flag >", value, "flag");
            return (Criteria) this;
        }

        public Criteria andFlagGreaterThanOrEqualTo(String value) {
            addCriterion("Flag >=", value, "flag");
            return (Criteria) this;
        }

        public Criteria andFlagLessThan(String value) {
            addCriterion("Flag <", value, "flag");
            return (Criteria) this;
        }

        public Criteria andFlagLessThanOrEqualTo(String value) {
            addCriterion("Flag <=", value, "flag");
            return (Criteria) this;
        }

        public Criteria andFlagLike(String value) {
            addCriterion("Flag like", value, "flag");
            return (Criteria) this;
        }

        public Criteria andFlagNotLike(String value) {
            addCriterion("Flag not like", value, "flag");
            return (Criteria) this;
        }

        public Criteria andFlagIn(List<String> values) {
            addCriterion("Flag in", values, "flag");
            return (Criteria) this;
        }

        public Criteria andFlagNotIn(List<String> values) {
            addCriterion("Flag not in", values, "flag");
            return (Criteria) this;
        }

        public Criteria andFlagBetween(String value1, String value2) {
            addCriterion("Flag between", value1, value2, "flag");
            return (Criteria) this;
        }

        public Criteria andFlagNotBetween(String value1, String value2) {
            addCriterion("Flag not between", value1, value2, "flag");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNull() {
            addCriterion("Remark is null");
            return (Criteria) this;
        }

        public Criteria andRemarkIsNotNull() {
            addCriterion("Remark is not null");
            return (Criteria) this;
        }

        public Criteria andRemarkEqualTo(String value) {
            addCriterion("Remark =", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotEqualTo(String value) {
            addCriterion("Remark <>", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThan(String value) {
            addCriterion("Remark >", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkGreaterThanOrEqualTo(String value) {
            addCriterion("Remark >=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThan(String value) {
            addCriterion("Remark <", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLessThanOrEqualTo(String value) {
            addCriterion("Remark <=", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkLike(String value) {
            addCriterion("Remark like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotLike(String value) {
            addCriterion("Remark not like", value, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkIn(List<String> values) {
            addCriterion("Remark in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotIn(List<String> values) {
            addCriterion("Remark not in", values, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkBetween(String value1, String value2) {
            addCriterion("Remark between", value1, value2, "remark");
            return (Criteria) this;
        }

        public Criteria andRemarkNotBetween(String value1, String value2) {
            addCriterion("Remark not between", value1, value2, "remark");
            return (Criteria) this;
        }
    }

    /**
     * This class was generated by MyBatis Generator.
     * This class corresponds to the database table prpm_video_user
     *
     * @mbggenerated do_not_delete_during_merge Mon Jun 06 11:29:27 CST 2016
     */
    public static class Criteria extends GeneratedCriteria {
        protected Criteria() {
            super();
        }
    }

    /**
     * 核损员和视频组件映射表
     * 数据库表：prpm_video_user
     * 
     * @author fucy
     * @since 2016-06-05
     */
    public static class Criterion {
        private String  condition;
        private Object  value;
        private Object  secondValue;
        private boolean noValue;
        private boolean singleValue;
        private boolean betweenValue;
        private boolean listValue;
        private String  typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}